Kinetically activated diagnostics and correction

ABSTRACT

A kinetically activated method and device for initiating self-diagnostics in a variety of hardware devices to enable proactive detection and correction of faults, errors, malfunctions, failures and the like.

TECHNICAL FIELD

The present invention relates generally to hardware device faults and,more particularly, to a technique for kinetically activated diagnosticsproviding fault detection and correction in hardware devices.

BACKGROUND OF THE INVENTION

In today's technologically driven environment, people are becoming moreand more reliant on devices and equipment that allow access to all typesof services, applications, networks, and other capabilities.Technological advances have enabled the ubiquitous deployment of devicesamongst consumers of all socio-economic classes. The consumers rely uponthese devices for continuous access to television content, broadbandconnectivity, social media, and communications, to name just a few.

Of course, as with any technology, such hardware devices can and will besubject to periodic malfunctions, faults, errors and failures which cantend to frustrate the user of the hardware device depending upon thefrequency of occurrence and/or the severity. In turn, human nature andhabit sometimes manifest in the user's action of physically striking,shaking or throwing a malfunctioning device with the desire ofcorrecting the current problem with the device. For example, smallerdevices (e.g., handheld) might be shaken vigorously or hit against amore massive object (e.g., a tabletop), while larger devices might bestricken with the user's hand or foot, all in the hope of correcting thedevice malfunction in an immediate way. In the end, the user is stillwithout knowledge of why or how the problem was corrected or persists.That is, if striking the device corrects the problem, the user has noidea why or how this action was effective in correcting the problemand/or whether the fix is temporary or permanent. Alternatively, ifstriking the device does not correct the problem, the user still has noidea why or how the device failed and is still left with a failed deviceon hand.

However, before dismissing the shortcomings of such human behavior itmay be worthwhile to leverage this human conditioning effect to identifya way for hardware devices to initiate self-diagnostics to improve theirperformance and operational sustainability.

BRIEF SUMMARY OF THE EMBODIMENTS

In accordance with various embodiments, a kinetically activated methodand device is provided for initiating self-diagnostics in a variety ofhardware devices to enable proactive, real-time detection and correctionof faults, errors, malfunctions, failures and the like.

More particularly, in accordance with an embodiment, an integratedcircuit is configured with functionality to include a kinetic generator(e.g., one or more sensors such as an omnidirectional g-force sensor oraccelerometer), a processor, a diagnostic support services controllerand communications interface for connectivity to a plurality of devicefailure points and other communications capabilities (e.g., Bluetooth®communications), a kinetic energy harvester and an energy buffer.Illustratively, the integrated circuit and the associated functionalityis embedded with an existing integrated circuit of the hardware deviceto enable self-diagnostics, or as an independent integrated circuit ofsuch hardware device.

In accordance with an embodiment, the self-diagnostic enabled hardwaredevice will sense via the embedded integrated circuit a particularshock, impact, vibration or the like and initiate a self-diagnosticroutine. Illustratively, the self-diagnostics may be initiated from anexcessive force generated by a particular event that the hardware deviceis subjected to, for example, the dropping of a set-top box remotecontrol or a Bluetooth®-enabled headset receiving a sudden blow. Inaccordance with an embodiment, a directional sensor is able to determinethe direction and/or the strength of a particular shock force to withthe device is subjected at any given time. That is, the directionalsensor is specifically looking for a stochastic or coherent forceapplication to the device. Further, the sensor may be equipped with oneor more buffers (or have access to a memory) to retain a history of pastforce application(s) to the device which will be useful indistinguishing between inadvertent and intentional applications of forcein accordance with the embodiments herein. For example, the forcehistory may be utilized to set a specified impact/force threshold whichmust be exceeded before self-diagnostics is triggered. In this way, thedevice may be constantly monitored for the application of any force(including, for example, a force above a specified threshold) includingbut not limited to impact strength/force level, direction, orientation,and/or torque/rotation, to name just a few. As such, self-diagnosticsare enabled, in accordance with the embodiment, in hardware devices thatmay not have access to diagnostic capabilities in a more centralized way(e.g., a wireless handset that communicates via a 4G wireless networkthat may provide continual fault detection capabilities to 4G connecteddevices).

In accordance with an embodiment, the self-diagnostically enabledhardware device will upon activation of the self-diagnostics initiateeither routine maintenance operations to prevent future faults or, inthe event of a fault, initiate self-repair routines to correct orrecover from the fault. In these situations, the hardware devicesubjected to the fault broadcasts at least one diagnostic message toother hardware devices proximate to such hardware device (e.g., via aBluetooth ad-hoc network) and these other hardware devices (which may bethe same type of device or different type of device) will receive thediagnostic message and broadcast back a message that will include anindication of the type of fault identified and/or a solution to recoverfrom the fault or an indication that no solution is available.

In accordance with an embodiment, as noted above, self-diagnosticallyenabled hardware device includes a kinetic energy harvester (e.g., apiezoelectric energy harvesting device) and an energy buffer (e.g., ahigh-capacity capacitor) which may be used to collect and store impactenergy (e.g., from an impact on or to self-diagnostically enabledhardware device) for powering the device. In accordance with anembodiment, the kinetic energy harvester is configured with at least oneomnidirectional g-force sensor for sensing the impact(s)/shock(s) to thedevice. This is particularly effective if self-diagnostically enabledhardware device is a low power device and experiences a depleted powercondition or when external power sources are unavailable.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a high-level block diagram of a self-diagnostic supportdevice configured in accordance with an illustrative embodiment;

FIG. 2 shows a high-level block diagram of a portable electronic deviceconfigured with the self-diagnostic support device of FIG. 1 inaccordance with an illustrative embodiment;

FIG. 3 illustrates an exemplary self-diagnostic enabled interactivetelevision device, exemplary self-diagnostic enabled set-top box, andexemplary self-diagnostic enabled remote control, each configured inaccordance with FIG. 1 and FIG. 2 for delivering kinetically activatedself-diagnostics in accordance with an embodiment;

FIG. 4 shows an explanatory diagram of delivering kinetically activatedself-diagnostics using multiple self-diagnostic enabled devices, eachconfigured in accordance with FIG. 1 and FIG. 2, in accordance with anembodiment; and

FIG. 5 shows a flowchart of illustrative operations for kineticallyactivated self-diagnostics in accordance with an embodiment.

DETAILED DESCRIPTION

In accordance with various embodiments, a kinetically activated methodand device is provided for initiating self-diagnostics in a variety ofhardware devices to enable proactive, real-time detection and correctionof faults, errors, malfunctions, failures and the like.

FIG. 1 shows a high-level block diagram of self-diagnostic supportdevice 100 configured in accordance with an illustrative embodiment.More particularly, in accordance with the embodiment, self-diagnosticsupport device 100 includes processor 120 that is configurable toperform self-diagnostic actions for hardware devices in accordance withthe various embodiments described herein including performing dataprocessing, application/firmware execution and other processing andmanagement services. In some embodiments, self-diagnostic support device100 may comprise one or more independent integrated circuits (e.g., asingle chip, chip set and/or system on a chip) which are assembled andintegrated with a hardware device configured with kinetically activatedself-diagnostics as detailed herein below. In other embodiments, thefunctionality of self-diagnostic support device 100 may be embeddeddirectly in existing integrated circuit(s) of the hardware devicethereby eliminating the need for an independent integrated circuit(s).

Processor 120 may include both general and special purposemicroprocessors, and may be a sole processor or one of multipleprocessors. Processor 120 may comprise one or more central processingunits (CPUs), for example. Processor 120, diagnostic support servicescontroller 130, and/or memory 160 may include, be supplemented by, orincorporated in, one or more application-specific integrated circuits(ASICs) and/or one or more field programmable gate arrays (FPGAs).

In accordance with an embodiment, self-diagnostic support device 100 isconfigured with kinetic generator 110 which may be configured as one ormore sensors such as an omnidirectional g-force sensor, accelerometer,solid state shock sensors, mechanical sensor, piezoelectric device,and/or other devices that convert shocks, vibrations, impacts and/ormotion to an electric current or other detectable signal output. Inaccordance with an embodiment, self-diagnostic support device 100 willsense via kinetic generator 110 whether a particular hardware device issubject to one or more shock(s), impact(s), vibration(s), motion(s) orthe like and initiate a self-diagnostic routine stored in memory 160,for example, and executed by processor 120. Illustratively, theself-diagnostics may be initiated from an excessive force generated by aparticular impact event that the hardware device is subjected to, forexample, the dropping of set-top box remote control or aBluetooth®-enabled headset receiving a sudden blow. As such,self-diagnostics are enabled, in accordance with the embodiment, inhardware devices that may not have access to diagnostic capabilities ina more centralized way. In accordance with an embodiment, kineticgenerator 110 is a directional sensor is able to determine the directionand/or the strength of a particular shock force to self-diagnosticsupport device 100. That is, the directional sensor is specificallylooking for a stochastic or coherent force application toself-diagnostic support device 100. Further, the kinetic generator 110may be equipped with one or more buffers or have access to a memory(e.g., memory 160) to retain a history of past force application(s) toself-diagnostic support device 100 which will be useful indistinguishing between inadvertent and intentional applications of forcein accordance with the embodiments herein. For example, the forcehistory may be utilized to set a specified impact/force threshold whichmust be exceeded before self-diagnostics is triggered. In this way, thedevice may be constantly monitored for the application of any force(including, for example, a force above a specified threshold) includingbut not limited to impact strength/force level, direction, orientation,and/or torque/rotation, to name just a few.

Turning now to a discussion of both FIG. 1 and FIG. 2, FIG. 2 shows ahigh-level block diagram of a portable electronic device 200, anillustrative hardware device, configured in accordance with anillustrative embodiment. In particular, processor 210 controls thegeneral operations of portable electronic device 200 and is interfacedwith self-diagnostic support device 100 which provides kineticallyactivated self-diagnostics to enable proactive detection and correctionof faults, errors, malfunctions, failures and the like (as detailedherein above) in portable electronic device 200. In accordance with anembodiment, diagnostic support services controller 130 is utilized tofacilitate device self-diagnostics for portable electronic device 200 inorder to identify potential faults or malfunctions that may affect theoperability of the device. For example, diagnostic support servicescontroller 130 may be interfaced with and/or connected to identified orknown failure points of portable electronic device 200 (e.g., Wi-Ficonnection, connector interfaces, power connections, etc.) to facilitatethe self-diagnostics either directly or indirectly with respect to suchidentified failure points which are susceptible to operational faults.

For example, the device self-diagnostics may be used to diagnosis acurrent fault already affecting portable electronic device 200 or topredict a probability of the occurrence of some future fault which willadversely affect portable electronic device 200. In delivering theself-diagnostics in accordance with the embodiment, device diagnosticsmay be performed based on a knowledge database (e.g., as stored inmemory 160), fault profiles (e.g., as stored in memory 160) that maycomprise information regarding device configurations, device settings,usage characteristics and the like, and/or other self-diagnosticinformation otherwise accessible to portable electronic device 200, forexample using communications interface 140 to access information storedremotely to the device.

As will be appreciated, the detailed discussion with respect to portableelectronic device 200 is illustrative in nature to further theunderstanding of the kinetically activated self-diagnostics facilitatedby this embodiment, however, the scope of the embodiments herein areintended to include any device, apparatus, equipment, vehicle or otherhardware, whether portable or not, that would benefit from suchkinetically activated self-diagnostics. By way of example but notlimitation such devices may include wireless handsets, set-top boxes,personal/digital video recorders, interactive televisions, tabletcomputers, desktop computers, watches, radios, game controllers,joysticks, remote controls, automobiles, printers, headsets, monitors,etc.

Processor 210 may be programmed to carry out these self-diagnosticfunctions in a well-known manner readily apparent to those havingordinary skill in the art. Memory 250 and data storage device 295 areoperatively coupled to processor 210 and serve to store, among otherthings, program code executed by processor 210 to carry out theoperating functions of portable electronic device 200. Data storagedevice 295 and memory 250 each comprise a tangible non-transitorycomputer readable storage medium. Data storage device 295, and memory250, may each include high-speed random access memory, such as dynamicrandom access memory (DRAM), static random access memory (SRAM), doubledata rate synchronous dynamic random access memory (DDR RAM), or otherrandom access solid state memory devices, and may include non-volatilememory, such as one or more magnetic disk storage devices such asinternal hard disks and removable disks, magneto-optical disk storagedevices, optical disk storage devices, flash memory devices,semiconductor memory devices, such as erasable programmable read-onlymemory (EPROM), electrically erasable programmable read-only memory(EEPROM), compact disc read-only memory (CD-ROM), digital versatile discread-only memory (DVD-ROM) disks, or other non-volatile solid statestorage devices.

Display 220 is coupled to processor 210 via display driver(s) 230 anddisplay 220 may be any type of display suitable for a portable deviceapplication such as a liquid crystal display (LCD) or organic lightemitting diode (OLED) display. Display 220 is operable to displayself-diagnostic instructions, data and/or other information relating tothe ordinary operations of portable electronic device 200. For example,display 220 may show a set of instant messages to a user which arecommunicated over a wireless communications network (not shown) in awell-known fashion such communications facilitated by transceiver 280and antenna 290. Display 220 may be a touch screen display or portableelectronic device may be optionally configured to include a physical orsoft keypad (e.g., keypad 240). Communications from or to portableelectronic device 200 are further enabled by data communicationssubsystem 260 and communications port 270 for communicating with otherdevices via a network (e.g., a wireless communications network) orcommunications protocol (e.g., Bluetooth®). For example, datacommunications subsystem 260 may be a receiver, transceiver or modem forexchanging wired or wireless communications in any number of well-knownfashions.

In accordance with an embodiment, self-diagnostic support device 100further includes kinetic energy harvester 150 (e.g., a piezoelectricenergy harvesting device) and energy buffer 170 (e.g., a high-capacitycapacitor) which in well-known manner may be used to collect and storeimpact energy (e.g., from an impact on or to portable electronic device200) for powering portable electronic 200. In accordance with anembodiment, kinetic energy harvester 150 is configured with at least oneomnidirectional g-force sensor for sensing the impact(s)/shock(s) toportable electronic device. This is particularly effective if portableelectronic device 200 is a low power device and experiences a depletedpower condition or when external power sources are unavailable.

In accordance with an embodiment, the self-diagnostics may beautomatically performed by self-diagnostic support device 100 to remedythe fault on portable electronic device 200. For example, removing orrepairing corrupted operational code that drives the performance ofportable electronic device 200. In accordance with a further embodiment,portable electronic device 200 will upon activation of theself-diagnostics initiate either routine maintenance operations toprevent future faults (i.e., assessing the probability that a fault mayoccur based on current device operating conditions) in accordance withat least one preventive self-diagnostic instruction or, in the event ofa fault, initiate self-repair routines to correct or recover from thefault in accordance with at least one self-diagnostic instruction. Inthese situations, when portable electronic device 200 is subjected to afault it will broadcast at least one diagnostic message to otherhardware devices proximate to portable electronic device 200 (e.g., viaa Bluetooth® ad-hoc network) and these other hardware devices (which maybe the same type of device or different type of device) which aresimilarly equipped as shown in FIG. 1 and FIG. 2 will receive thediagnostic message and broadcast back a message that will include one ormore potential solutions to recover from the fault or an indication thatno solution is available.

In accordance with an embodiment, kinetic generator 110 is a directionalsensor is able to determine the direction and/or the strength of aparticular shock force to portable electronic device 200 by and throughself-diagnostic support device 100. That is, the directional sensor isspecifically looking for a stochastic or coherent force application toportable electronic device 200. Further, the kinetic generator 110 maybe equipped with one or more buffers or have access to a memory (e.g.,memory 160) to retain a history of past force application(s) to portableelectronic device 200 which will be useful in distinguishing betweeninadvertent and intentional applications of force in accordance with theembodiments herein. In this way, portable electronic device 200 isconstantly monitored (by and through self-diagnostic support device 100)for the application of any force (e.g., exceeding a specified threshold)including but not limited to impact strength/force level, direction,orientation, and/or torque/rotation, to name just a few. Illustratively,the force threshold, if any, can be specified at the time of manufactureor by the user of portable electronic device 200 (including based on anypast force history, as discussed above).

In further embodiments, a user of portable electronic device 200 may beprompted (e.g., on display 220) with a list of one or more solutionswhich may be in priority (i.e., more likely to succeed) order andqueried whether the user desires to have one of the identified solutionsperformed by portable electronic device 200. Alternatively, the user maybe prompted with the list of one or more solutions and queried whetherthe user desires to directly perform one of the identified solutions.For example, the user might elect to perform an identified solution viaa web portal interface provided by and through data communicationssubsystem 260 and/or transceiver 180.

FIG. 3 illustrates on exemplary self-diagnostic enabled interactivetelevision device 300, exemplary self-diagnostic enabled set-top box310, and exemplary self-diagnostic enabled remote control 390, eachconfigured in accordance with FIG. 1 and FIG. 2 for deliveringkinetically activated self-diagnostics in accordance with an embodiment.As shown, self-diagnostic enabled interactive television device 300 hasreceived an indication (as displayed on display 340) of fault 320related to a potential or actual fault detected in accordance with theself-diagnostics launched and performed by interactive television device300 in accordance with the embodiment, as described herein above.Illustratively, interactive television device 300 may have beensubjected to impact 370 (which may be any type of impact, vibration,shock, sudden movement or being jostled about stand 360), and remotecontrol 390 may have been subjected to impact 315 (which may any type ofimpact, vibration, shock, or sudden movement, for example, from beingdropped and making contact with surface 305). For example, kineticgenerator 110 senses different levels or measurements of vibrationassociated with impact 370 and/or impact 315. The vibrations may berandom or cyclic motion, perhaps in one or more axes. Regardless,kinetic generator 110 outputs a digital or analog signal (e.g.,amplitude, frequency, voltage, current, pulse width) that is indicativeof impact 370 to which interactive television device 300 has beensubjected to, and/or impact 315 by remote control device 390 has beensubjected to. As noted previously, kinetic generator 110 is any devicethat converts a vibration, shock or motion, to electric current. Inaccordance with the embodiment, the sensing of impact 370 by interactivetelevision device 300 and/or impact 315 to which remote control device390 immediately triggers the self-diagnostics, as described hereinabove, for determining the presence or absence of a known fault, or theprobability of the occurrence of a future fault based on current deviceoperating conditions.

Illustratively, fault 320 indicates that an HDMI cable connection may beor is faulty and the user (not shown) should investigate and perform,depending upon the result of the investigation, one or more of thesuggested diagnostic instructions 330 to prevent or resolve fault 320.Diagnostic instructions 330 may be sourced and provided directly byinteractive television 300, or in accordance with a further embodiment,when interactive television 300 is subjected to a fault it willbroadcast using wireless transceiver 380 at least one diagnostic message350-1 to other hardware devices proximate to interactive television 300(e.g., via a Bluetooth® ad-hoc network), for example, other televisionsets in the user's home (not shown) and/or self-diagnostic enabledset-top box 310.

As such, these other hardware devices (which may be the same type ofdevice or different type of devices) which are similarly equipped asshown in FIG. 1 and FIG. 2 will receive the diagnostic message andbroadcast back a message that will include the fault identification andone or more potential solutions to recover from the fault or anindication that no solution is available. For example, instructions 330may have been broadcast by set-top box 310 via broadcast message 350-2and received by interactive television device 300.

FIG. 4 shows explanatory diagram 400 for delivering kineticallyactivated self-diagnostics using multiple self-diagnostic enableddevices, each configured in accordance with FIG. 1 and FIG. 2, inaccordance with an embodiment. In particular, the multipleself-diagnostic enabled devices, i.e., self-diagnostic enabled devices410-1, 410-2, 410-3, 410-4, 410-5, 410-6, 410-7, 410-8, 410-9 through410-N are installed, in a well-known manner, in various locationsthroughout home 420 and exchange communications over communicationsinterface 430, for example, communications interface 430 may be awell-known Bluetooth® ad hoc network established by and amongself-diagnostic enabled devices 410-1 through 410-N, or any other typeof well-known networking or communication environments such as Wi-Fi,LTE/CDMA/GSM or other cellular standards, or radio bands.

For example, self-diagnostic enabled device 410-3 (illustratively, aset-top box) has received, in accordance with an embodiment, anindication (as displayed on display 440) of fault 450 related to apotential or actual fault detected in accordance with theself-diagnostics launched and performed by self-diagnostic enableddevice 410-3 given its configuration in accordance with FIG. 1 and FIG.2 to enable the kinetic delivery of self-diagnostics, as describedherein above. Illustratively, self-diagnostic enabled device 410-3 mayhave been subjected to a large impact or been suddenly moved or jostled(e.g., by impact 405). Here, for example, fault 450 may indicate that anEthernet connection may or is faulty and user 460 should investigate andperform, depending upon the result of the investigation, one or more ofthe suggested self-diagnostic instructions 470 to prevent (i.e., apreventive self-diagnostic instruction) or resolve fault 450 (i.e., aself-diagnostic instruction). As used herein, preventive-self-diagnosticinstructions are referred to as those instructions that prevent futurefaults, and self-diagnostic instructions are referred to as thoseinstructions that prevent current/actual faults. For ease of reference,they are also collectively referred to herein as self-diagnosticinstructions depending on the context.

Self-diagnostic instructions 470 may be sourced and provided directly byself-diagnostic enabled device 410-3, or in accordance with a furtherembodiment, when self-diagnostic enabled device 410-3 is subjected to afault it will broadcast, for example, using a wireless transceiver (notshown) at least one diagnostic message 480 to other hardware devicesproximate thereto via communications interface 430, for example,self-diagnostic enabled devices 410-2, 410-4, 410-5, 410-6, 410-7,410-8, 410-9 through 410-N. As such, these other hardware devices whichmay be the same type of device (e.g., self-diagnostic enabled devices410-1 and 410-N are both set-top boxes) or different type of devices(e.g., self-diagnostic enabled device 410-1 is a flat screen monitor,self-diagnostic enabled device 410-2 is a flat screen television,self-diagnostic enabled device 410-4 is a computer, and self-diagnosticenabled device 410-6 is a “smart” refrigerator), which are similarlyequipped as shown in FIG. 1 and FIG. 2 will receive diagnostic message480 and broadcast back a message (e.g., broadcast messages 490-1, 490-2,and 490-3) that will include one or more potential solutions to recoverfrom the fault or an indication that no solution is available. Forexample, self-diagnostic instructions 470 may have been broadcast byself-diagnostic enabled device 410-6 via broadcast message 490-3 andreceived by self-diagnostic enabled device 410-3.

FIG. 5 shows a flowchart of illustrative operations 500 for providingkinetically activated self-diagnostics in accordance with an embodiment.In accordance with the operations of FIG. 5, at step 505, an impact to adevice (e.g., portable electronic device 200) is detected,illustratively, by kinetic generator 110 as detailed above, and adetermination is made, at step 565, if a diagnostic request is desiredbased on the detected impact in terms of at least the impact strength,direction, and/or recent force history. In this way, the device isconstantly monitored for the application of any force including but notlimited to whether the force exceeds a specified threshold, for example,as detailed above. Based on the detection of the impact and thedetermination regarding the desirability of the diagnostic request, atstep 510, self-diagnostics are triggered in the device to identify aparticular fault(s), at step 515, that the device may be or is subjectedto which may adversely impact the performance thereof. In accordancewith the embodiment, if the self-diagnostics of the device identifiesthe fault, one or more self-diagnostic instructions are identified, atstep 520, such instructions are provided (at step 525) to the user, forexample, and executed at step 530 in an attempt to correct theidentified fault, as detailed above. A determination is made, at step560, whether the fault is corrected and if not corrected, an indicationis provided, at step 535, that no known fault was identified. Otherwise,the identified fault has been corrected by the executed self-diagnosticinstructions and the device is restored to normal operations and theself-diagnostic operations ended.

If the self-diagnostics in the device are unsuccessful in identifyingthe fault from sources resident in the device, one or more broadcastmessages are sent, at step 540, from the device to other devicesproximally located thereto as detailed above. If one of these proximallylocated devices is able to identify the fault and self-diagnosticinstruction(s), at step 545, this device will broadcast a message, atstep 550, that identifies the fault and such self-diagnosticinstruction(s), or if the proximally located devices are unable toidentify the fault and associated self-diagnostic instructions abroadcast message, at step 555, is sent indicating that result. Thesebroadcast messages will be received, as detailed above, by the originaldevice (i.e., the device triggering and undergoing self-diagnostics)which such will provide the indication of the identified fault andself-diagnostic instruction(s), at step 525, to the user, for example,and execute (at step 530) such instructions in an attempt to correct theidentified fault, as detailed above. A determination is made, at step560, whether the fault is corrected and if not corrected, an indicationis provided, at step 535, that no known fault was identified. Otherwise,the identified fault has been corrected by the executed self-diagnosticinstructions and the device is restored to normal operations and theself-diagnostic operations ended.

The foregoing Detailed Description is to be understood as being in everyrespect illustrative and exemplary, but not restrictive, and the scopeof the invention disclosed herein is not to be determined from theDetailed Description, but rather from the claims as interpretedaccording to the full breadth permitted by the patent laws. It is to beunderstood that the embodiments shown and described herein are onlyillustrative of the principles of the present invention and that variousmodifications may be implemented by those skilled in the art withoutdeparting from the scope and spirit of the invention. Those skilled inthe art could implement various other feature combinations withoutdeparting from the scope and spirit of the invention.

The invention claimed is:
 1. A method, comprising: detecting an impactto a device; determining a direction of the impact; determining astrength of the impact; performing self-diagnostics on the device basedon the direction of the impact, the strength of the impact, and a forcehistory of a prior impact, the self-diagnostics comprising: determiningwhen a fault has occurred to the device; and when the fault hasoccurred, identifying a type of the fault and broadcasting, from thedevice to a plurality of other devices proximally located to the device,a diagnostic message which includes the type of the fault identified;and receiving, in response to the diagnostic message broadcasted to theplurality of other devices, a self-diagnostic instruction which willresolve the fault identified.
 2. The method of claim 1 furthercomprising: executing, by the device, the self-diagnostic instruction.3. The method of claim 2 further comprising: displaying an indication ofthe type of the fault and the self-diagnostic instruction to a user ofthe device.
 4. The method of claim 1 wherein the method furthercomprises: determining, by one of the plurality of other devices thatreceived the diagnostic message, the self-diagnostic instruction; andbroadcasting, from the one of the plurality of other devices thatreceived the diagnostic message, the self-diagnostic instruction.
 5. Themethod of claim 4 further comprising: collecting, using a kinetic energyharvester in the device, kinetic energy generated by the impact to thedevice; and storing, in an energy buffer in the device, the kineticenergy collected.
 6. The method of claim 1 further comprising:determining whether the strength of the impact exceeds a specifiedthreshold before the performing of the self-diagnostics on the device.7. The method of claim 6, further comprising: determining a rotation ofthe device, wherein the performing self-diagnostics on the device isfurther based on the rotation of the device.
 8. The method of claim 1further comprising: when no fault has not occurred, determining whethera condition exists on the device which will promote a future fault atsome later time; and when the condition exists, determining a preventiveself-diagnostic instruction which will prevent the future fault fromoccurring.
 9. The method of claim 8 further comprising: executing, bythe device, the preventive self-diagnostic instruction.
 10. The methodof claim 8 further comprising: broadcasting, from the device, a messageto the plurality of other devices proximally located to the devicerelated to the condition which will promote the future fault;determining, by one of the plurality of other devices that received thediagnostic message, the preventive self-diagnostic instruction; andbroadcasting, from the one of the plurality of other devices thatreceived the diagnostic message, the preventive self-diagnosticinstruction.
 11. The method of claim 10 further comprising: receiving,by the device, the preventive self-diagnostic instruction broadcast fromthe one of the plurality of other devices that received the diagnosticmessage; and executing, by the device, the preventive self-diagnosticinstruction.
 12. A device, comprising: a kinetic generator for detectinga direction of an impact and a strength of the impact to the device; aprocessor; a memory coupled with the processor, the memory that storescomputer program instructions that when executed cause the processor toperform operations for: performing self-diagnostics on the device basedon the direction of the impact, the strength of the impact, and a forcehistory of a prior impact, the self-diagnostics comprising: determiningwhen a fault has occurred to the device; and when the fault hasoccurred, identifying a type of the fault and broadcasting, from thedevice to a plurality of other devices proximally located to the device,a diagnostic message which includes the type of the fault identified;and receiving, in response to the diagnostic message broadcasted to theplurality of other devices, a self-diagnostic instruction which willresolve the fault.
 13. The device of claim 12 wherein the operationsfurther comprise: executing, by the device, the self-diagnosticinstruction.
 14. The device of claim 13 wherein the operations furthercomprise: determining, by one of the plurality of other devices thatreceived the diagnostic message, the self-diagnostic instruction; andbroadcasting, from the one of the plurality of other devices thatreceived the diagnostic message, the self-diagnostic instruction. 15.The device of claim 14 wherein the device and the plurality of otherdevices communicate via a wireless communications protocol, and thedevice is one of a wireless handset, set-top box, personal/digital videorecorder, interactive television, tablet computer, desktop computer,watch, radio, game controller, joystick, remote control, automobile,printer, headset, and monitor.
 16. The device of claim 13, wherein theoperations further comprise: determining whether the strength of theimpact detected exceeds a specified threshold before the performing ofthe self-diagnostics on the device.
 17. The device of claim 13, thedevice further comprising: a kinetic energy harvester for collectingkinetic energy generated by the impact to the device; and an energybuffer for storing the kinetic energy collected.
 18. The device of claim12 wherein the kinetic generator is one of an omnidirectional g-forcesensor, an accelerometer, a solid state shock sensor, a mechanicalsensor, and a piezoelectric device.
 19. The device of claim 12 whereinthe operations further comprise: when no fault has not occurred,determining whether a condition exists on the device which will promotea future fault at some later time; and when the condition exists,determining a preventive self-diagnostic instruction which will preventthe future fault from occurring.
 20. The device of claim 12, the devicefurther comprising: a display for displaying an indication of the typeof the fault identified and the self-diagnostic instruction.